import type { ComponentPropsWithoutRef, FC } from 'react'
import { useId } from 'react'

type Props = ComponentPropsWithoutRef<'svg'>

export const LiamLogo: FC<Props> = (props) => {
  const clipPathId = useId()

  return (
    <svg
      role="img"
      aria-label="Liam ERD Logo"
      width={157}
      height={32}
      viewBox="0 0 157 32"
      fill="none"
      {...props}
    >
      <path
        d="M140.235 25.5449V8.51477H147.68C149.529 8.51477 151.151 8.87159 152.546 9.58523C153.941 10.2989 155.027 11.2882 155.806 12.5533C156.584 13.8184 156.974 15.3106 156.974 17.0298C156.974 18.7328 156.584 20.225 155.806 21.5063C155.027 22.7714 153.941 23.7608 152.546 24.4744C151.151 25.188 149.529 25.5449 147.68 25.5449H140.235ZM143.398 22.8687H147.534C148.815 22.8687 149.918 22.6254 150.843 22.1388C151.783 21.6523 152.505 20.9711 153.008 20.0952C153.527 19.2194 153.786 18.1976 153.786 17.0298C153.786 15.8458 153.527 14.824 153.008 13.9644C152.505 13.0886 151.783 12.4074 150.843 11.9208C149.918 11.4342 148.815 11.1909 147.534 11.1909H143.398V22.8687Z"
        fill="currentColor"
      />
      <path
        d="M122.44 25.5449V8.51477H129.447C130.955 8.51477 132.245 8.75806 133.315 9.24463C134.402 9.73121 135.237 10.4286 135.821 11.3369C136.405 12.2452 136.697 13.3237 136.697 14.5726C136.697 15.8215 136.405 16.9001 135.821 17.8083C135.237 18.7004 134.402 19.3897 133.315 19.8763C132.245 20.3466 130.955 20.5818 129.447 20.5818H124.192L125.603 19.1464V25.5449H122.44ZM133.583 25.5449L129.277 19.3654H132.658L136.989 25.5449H133.583ZM125.603 19.487L124.192 17.9786H129.301C130.696 17.9786 131.742 17.6786 132.439 17.0785C133.153 16.4784 133.51 15.6431 133.51 14.5726C133.51 13.4859 133.153 12.6507 132.439 12.0668C131.742 11.4829 130.696 11.1909 129.301 11.1909H124.192L125.603 9.63389V19.487Z"
        fill="currentColor"
      />
      <path
        d="M109.061 15.5944H117.528V18.1976H109.061V15.5944ZM109.305 22.893H118.914V25.5449H106.142V8.51477H118.574V11.1666H109.305V22.893Z"
        fill="currentColor"
      />
      <g clipPath={`url(#${clipPathId})`}>
        <path
          d="M37.2192 8.07196H40.4978V22.7822H49.7283V25.5243H37.2192V8.07196Z"
          fill="currentColor"
        />
        <path
          d="M52.174 9.48082C51.7877 9.12409 51.5945 8.67909 51.5945 8.14761C51.5945 7.61613 51.7877 7.17113 52.174 6.81441C52.5604 6.45769 53.0397 6.27753 53.6119 6.27753C54.1841 6.27753 54.6634 6.44868 55.0498 6.78919C55.4361 7.1297 55.6293 7.55848 55.6293 8.07375C55.6293 8.62144 55.4398 9.08266 55.0625 9.4574C54.6853 9.83213 54.2005 10.0177 53.6119 10.0177C53.0233 10.0177 52.5604 9.83934 52.174 9.48082ZM52.0228 12.2103H55.1755V25.5243H52.0228V12.2103Z"
          fill="currentColor"
        />
        <path
          d="M72.4757 12.2103V25.5243H69.4742V23.8037C68.953 24.4361 68.3096 24.9099 67.5442 25.2252C66.7788 25.5405 65.9332 25.699 65.0092 25.699C63.6989 25.699 62.5253 25.4162 61.492 24.8505C60.4587 24.2848 59.6513 23.4884 59.07 22.4579C58.4905 21.4274 58.2007 20.2311 58.2007 18.8673C58.2007 17.5034 58.4905 16.3126 59.07 15.2892C59.6495 14.2677 60.4568 13.4732 61.492 12.9075C62.5253 12.3418 63.6989 12.0607 65.0092 12.0607C65.884 12.0607 66.6859 12.2103 67.4185 12.5093C68.1493 12.8084 68.7835 13.2498 69.3229 13.8299V12.2103H72.4757ZM68.2386 21.885C68.9949 21.1211 69.3739 20.1158 69.3739 18.8691C69.3739 17.6223 68.9949 16.617 68.2386 15.8532C67.4823 15.0893 66.5237 14.7055 65.3628 14.7055C64.2019 14.7055 63.2488 15.0875 62.4998 15.8532C61.7508 16.617 61.3772 17.6223 61.3772 18.8691C61.3772 20.1158 61.7508 21.1211 62.4998 21.885C63.247 22.6489 64.2019 23.0326 65.3628 23.0326C66.5237 23.0326 67.4804 22.6507 68.2386 21.885Z"
          fill="currentColor"
        />
        <path
          d="M97.6433 13.52C98.6347 14.4929 99.1323 15.9504 99.1323 17.8962V25.5261H95.9795V18.2962C95.9795 17.1323 95.7189 16.2567 95.1977 15.6658C94.6765 15.0767 93.9274 14.7812 92.9524 14.7812C91.8936 14.7812 91.0444 15.1271 90.4047 15.8153C89.765 16.5053 89.4461 17.489 89.4461 18.77V25.5261H86.2933V18.2962C86.2933 17.1323 86.0327 16.2567 85.5115 15.6658C84.9903 15.0767 84.2413 14.7812 83.2663 14.7812C82.1911 14.7812 81.3364 15.1217 80.7058 15.8027C80.0752 16.4837 79.76 17.4728 79.76 18.77V25.5261H76.6072V12.2103H79.6087V13.9056C80.1135 13.3075 80.7441 12.8498 81.5004 12.5346C82.2567 12.2193 83.0968 12.0607 84.0226 12.0607C85.0322 12.0607 85.927 12.2481 86.7088 12.621C87.4907 12.9958 88.1085 13.5471 88.5622 14.2785C89.1163 13.5813 89.8325 13.0372 90.7054 12.6463C91.5802 12.2553 92.546 12.0607 93.6049 12.0607C95.3034 12.0607 96.6483 12.5472 97.6397 13.5182L97.6433 13.52Z"
          fill="currentColor"
        />
        <path
          d="M15.3047 31.1832C23.7874 31.1832 30.664 24.385 30.664 15.9991C30.664 7.61315 23.7874 0.815002 15.3047 0.815002C6.82192 0.815002 -0.0546875 7.61315 -0.0546875 15.9991C-0.0546875 24.385 6.82192 31.1832 15.3047 31.1832Z"
          fill="#1DED83"
        />
        <path
          d="M9.27234 23.0398C9.09738 23.0344 9.09192 23.0326 9.14659 22.8705C9.31972 22.3516 11.3298 16.3576 12.1663 13.8804C12.2228 13.7146 12.1864 13.5939 12.0825 13.4822C11.3882 12.7219 10.9143 11.8265 10.4897 10.9059C10.1963 10.2663 9.96485 9.59972 9.79901 8.9133C9.76621 8.77998 9.80995 8.74035 9.90654 8.71152C10.4332 8.54937 10.9617 8.39443 11.4884 8.22688C11.6014 8.19085 11.6488 8.19986 11.6925 8.32057C11.8474 8.74755 12.0005 9.17634 12.1846 9.59071C12.3613 9.98887 12.5709 10.3726 12.775 10.76C12.8698 10.9401 12.9755 11.1167 13.0885 11.286C13.1996 11.4554 13.2069 11.4518 13.3254 11.277C13.3618 11.223 13.3892 11.1635 13.422 11.1077C13.7737 10.5258 14.1783 9.98347 14.6667 9.50604C15.3556 8.83223 16.1556 8.3602 17.1051 8.14401C17.4714 8.06113 17.8395 8.0251 18.2168 8.0215C18.7726 8.01609 19.3193 8.05032 19.8569 8.19445C20.4438 8.3512 20.9668 8.62865 21.4443 9.00158C22.0001 9.43577 22.3573 10.0015 22.5887 10.6483C22.678 10.8969 22.6963 11.1707 22.74 11.4338C22.7528 11.5148 22.7364 11.6013 22.7436 11.6842C22.7765 12.1436 22.6999 12.5904 22.5669 13.0246C22.4393 13.4444 22.2297 13.8299 21.9637 14.1795C21.4242 14.8857 20.7281 15.3811 19.8843 15.6802C19.4159 15.846 18.9366 15.9432 18.4464 16.0189C17.9106 16.1036 17.3748 16.0892 16.8463 16.0531C16.1684 16.0045 15.4995 15.8532 14.869 15.5775C14.7323 15.5181 14.5938 15.4604 14.4571 15.401C14.2895 15.3271 14.2731 15.3307 14.2147 15.4964C14.1036 15.8117 12.5308 20.6671 12.5181 20.7013C12.4907 20.768 12.5017 20.8076 12.5837 20.8076C12.6584 20.8076 18.04 20.8076 20.6533 20.8076C20.9832 20.8076 21.0397 20.7464 20.9358 21.1517C20.7973 21.6976 20.6697 22.2453 20.5349 22.793C20.4747 23.038 20.4729 23.0398 20.216 23.0398C18.4008 23.0398 9.32336 23.0398 9.26687 23.0398H9.27234ZM18.6031 10.2015C18.5758 10.2015 18.5466 10.2033 18.5193 10.2015C17.9124 10.1564 17.3511 10.2861 16.8554 10.6447C16.6076 10.823 16.3761 11.014 16.1702 11.2482C15.6563 11.8319 15.3228 12.5075 15.0148 13.2048C14.9801 13.284 14.9729 13.3363 15.064 13.3831C15.3045 13.5056 15.536 13.6534 15.7838 13.7615C16.1957 13.9416 16.6258 14.075 17.0759 14.102C17.342 14.1182 17.6099 14.1254 17.8796 14.1164C18.4646 14.0948 19.0077 13.9542 19.4979 13.6444C20.1412 13.2354 20.4893 12.6499 20.4857 11.8824C20.4839 11.4536 20.3107 11.0716 20.0137 10.787C19.6328 10.4213 19.1644 10.1834 18.6049 10.2033L18.6031 10.2015Z"
          fill="black"
        />
      </g>
      <defs>
        <clipPath id={clipPathId}>
          <rect
            width="99.1323"
            height="30.37"
            fill="currentColor"
            transform="translate(0 0.815002)"
          />
        </clipPath>
      </defs>
    </svg>
  )
}
